<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			/*
				变量：保存单个数据
				数组：可以保存多个数据，相当于一个小仓库，只要是JS支持的数据类型都可以放
					数组的长度是可以改变的。
					定义：var或let 数组名 = []或new Array();
					赋值：通过索引去实现指定位置的赋值
						格式：数组名[索引] = 值;
						索引：就是数组的元素位置，索引是从0开始的。索引超过数组的长度，则会
							改变数组的长度
					长度：就是数组中的元素个数，数组的长度是属性，不是函数
					遍历：就是将数组中的元素一个个处理。配合循环来遍历
			*/
			let array1 = [];
			let array2 = new Array();
			console.log(typeof array1);
			console.log(typeof(array1));
			console.log(typeof array2);
			let array3 = ['a', 1, "哈哈"];
			console.log(array3);
			array3[4] = 2;
			console.log(array3);
			console.log(array3[3]);
			console.log(array3.length);
			array3[3] = "b";
			console.log(array3);
			console.log(array3.length);

			for (let i = 0; i < array3.length; i++) {
				console.log(array3[i]);
			}
			//for-in循环
			console.log("for-in循环");
			for (let item in array3) {//item表示索引
				console.log(item);
			}
			console.log("for-of循环");
			for (let item of array3) {//item表示的是元素值
				console.log(item);
			}
			
			//2，定义一个由整数组成的数组{1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5}，
			// 计算出数组中的奇数个数与偶数个数(0也算偶数)。并打印
			let arr = [1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5];
			let jishu = 0;
			let oushu = 0;
			for (let item of arr) {//item表示的是元素值
				// console.log(item);
				if(item % 2 === 0) {
					oushu++;
				}else {
					jishu++
				}
			}
			//3，在将题2中的数组中的非0元素移动一个新的数组中。
			let newArr = [];
			for (let item of arr) {//item表示的是元素值
				// console.log(item);
				if(item !== 0) {
					// newArr.push(item);
					// newArr.unshift(item);
					// newArr.splice(0, 0, item);//相当于unshift
					newArr.splice(newArr.length, 0, item);//相当于push
				}
			}
			console.log(newArr);
			//删除元素
			let pop = newArr.pop();
			console.log(pop);
			console.log(newArr);
			let shift = newArr.shift();
			console.log(shift);
			console.log(newArr);
			delete newArr[0];
			console.log(newArr);
			newArr.splice(0, 3);
			console.log(newArr);
			
			newArr[0] = 10;
			console.log(newArr);
			//将第一元素的值改为6
			newArr.splice(0, 1, 7);
			console.log(newArr);
			console.log(newArr.toString());//使用,分隔
			console.log(newArr.join("-"));//join方法是对toString方法的扩展
			//concat，是用来联合数组，将另一个数组中的元素添加到一个数组中
			console.log(arr.concat(newArr));
			//slice,剪切数组，会返回一个新的数组，并不会对原来的数组产生影响
			console.log(newArr.slice(1));
			console.log(newArr.slice(1, 4));//4是结束的位置
			console.log(newArr);
			
			//4，在题3的新数组中，求出数组的元素和、最大值与最小值，并输出打印
		</script>
	</body>
</html>
